Section: Importing modules

In [1]:
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from IPython.display import display
import IPython.core.display as di
from include.config import CleaningConfig, PlottingConfig, NotebookConfig
from include.counting import get_count, get_percentage
from include.plotting import get_plot, display_side_by_side
from include.likertScalePlot import likert_scale
from include.textCleaning import wordcloud
In [2]:
pd.set_option('display.max_rows', 1000)
pd.set_option('display.max_columns', 1000) 
In [3]:
di.display_html('<script>jQuery(function() {if (jQuery("body.notebook_app").length == 0) { jQuery(".input_area").toggle(); jQuery(".prompt").toggle();}});</script>', raw=True)
In [4]:
get_ipython().magic('matplotlib inline')  # Activate that line to use in Jupyter 
matplotlib.rcParams['figure.figsize'] = (15.0, 8.0)

Loading dataset

In [5]:
df =  pd.read_csv('./uk_2017/data/cleaned_data.csv')

Section: 1

Group of question: socio

In which country do you work?

In [6]:
v_to_count  = get_count(df, ['socio1. In which country do you work?'], "one choice", "./../survey_creation/uk_17/listAnswers/countries.csv")
In [7]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [8]:
display_side_by_side(v_to_count,perc_to_count)
socio1. In which country do you work?
United Kingdom 253
Germany 24
United States 17
New Zealand 9
France 5
Netherlands 3
Australia 3
Ireland 3
Switzerland 3
South Africa 2
Brazil 1
Belgium 1
Luxembourg 1
Italy 1
Czech Republic 1
Norway 1
Spain 1
Romania 1
Sweden 1
Afghanistan 1
socio1. In which country do you work? [PERCENTAGE]
United Kingdom 76.20
Germany 7.23
United States 5.12
New Zealand 2.71
France 1.51
Netherlands 0.90
Australia 0.90
Ireland 0.90
Switzerland 0.90
South Africa 0.60
Brazil 0.30
Belgium 0.30
Luxembourg 0.30
Italy 0.30
Czech Republic 0.30
Norway 0.30
Spain 0.30
Romania 0.30
Sweden 0.30
Afghanistan 0.30
In [9]:
_ = get_plot(perc_to_count, "one choice")

Group of question: edu

What is the highest qualification you have obtained?

In [10]:
v_to_count  = get_count(df, ['edu1. What is the highest qualification you have obtained?'], "one choice", "./../survey_creation/uk_17/listAnswers/education.csv")
In [11]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [12]:
display_side_by_side(v_to_count,perc_to_count)
edu1. What is the highest qualification you have obtained?
Doctorate 213
Master degree 81
Undergraduate degree 33
Other 5
edu1. What is the highest qualification you have obtained? [PERCENTAGE]
Doctorate 64.16
Master degree 24.40
Undergraduate degree 9.94
Other 1.51
In [13]:
_ = get_plot(perc_to_count, "one choice")

In which subject is your highest academic qualification?

In [14]:
v_to_count  = get_count(df, ['edu2. In which subject is your highest academic qualification?'], "one choice", "./../survey_creation/uk_17/listAnswers/academic_field.csv")
In [15]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [16]:
display_side_by_side(v_to_count,perc_to_count)
edu2. In which subject is your highest academic qualification?
Physics and Astronomy 92
Computer Science 89
Biological Sciences 22
Mathematics 22
Other 16
Chemistry 16
Geography & Environmental Sciences 16
Electrical & Electronic Engineering 10
Mechanical Engineering 7
Civil Engineering 7
Linguistics 5
General Engineering 3
Materials Technology 3
Geology 3
Psychology 3
English 2
Medicine 2
Aeronautical & Manufacturing Engineering 2
Robotics 1
Education 1
Business & Management Studies 1
History 1
Theology & Religious Studies 1
Chemical Engineering 1
Art & Design 1
NaN 5
edu2. In which subject is your highest academic qualification? [PERCENTAGE]
Physics and Astronomy 28.13
Computer Science 27.22
Biological Sciences 6.73
Mathematics 6.73
Other 4.89
Chemistry 4.89
Geography & Environmental Sciences 4.89
Electrical & Electronic Engineering 3.06
Mechanical Engineering 2.14
Civil Engineering 2.14
Linguistics 1.53
General Engineering 0.92
Materials Technology 0.92
Geology 0.92
Psychology 0.92
English 0.61
Medicine 0.61
Aeronautical & Manufacturing Engineering 0.61
Robotics 0.31
Education 0.31
Business & Management Studies 0.31
History 0.31
Theology & Religious Studies 0.31
Chemical Engineering 0.31
Art & Design 0.31
In [17]:
_ = get_plot(perc_to_count, "one choice")

Enter your academic subject

In [18]:
 wc = wordcloud(df, ['edu3. Enter your academic subject'])
In [19]:
 plt.imshow(wc, interpolation='bilinear')
 plt.axis("off")
Out[19]:
(-0.5, 1499.5, 799.5, -0.5)

Do you hold any other professional qualifications?

In [20]:
 wc = wordcloud(df, ['edu4. Do you hold any professional qualifications?'])
In [21]:
 plt.imshow(wc, interpolation='bilinear')
 plt.axis("off")
Out[21]:
(-0.5, 1499.5, 799.5, -0.5)

Group of question: rse

Do you write code as part of your job?

In [22]:
v_to_count  = get_count(df, ['rse1. Do you write code as part of your job?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [23]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [24]:
display_side_by_side(v_to_count,perc_to_count)
Yes No
rse1. Do you write code as part of your job? 324 8
Yes No
rse1. Do you write code as part of your job? [PERCENTAGE] 97.59 2.41
In [25]:
_ = get_plot(perc_to_count, "y/n/na")

Who uses the code that you write?

In [26]:
v_to_count  = get_count(df, ['rse3[SQ001]. Who uses the code that you write? []'], "likert", "./../survey_creation/uk_17/listAnswers/likert_usage_5.csv")
In [27]:
display(v_to_count) 
0 - Mostly me 1 2 3 4 5 - Mostly other people
rse3[SQ001]. Who uses the code that you write? [] 11 40 44 58 78 93
In [28]:
_ = get_plot(v_to_count, "likert")

Group of question: soft

Do you consider yourself a professional software developer?

In [29]:
v_to_count  = get_count(df, ['soft2can. Do you consider yourself a professional software developer?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [30]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [31]:
display_side_by_side(v_to_count,perc_to_count)
Yes No
soft2can. Do you consider yourself a professional software developer? 191 141
Yes No
soft2can. Do you consider yourself a professional software developer? [PERCENTAGE] 57.53 42.47
In [32]:
_ = get_plot(perc_to_count, "y/n/na")

How many years of Software development experience do you have?

In [33]:
v_to_count  = get_count(df, ['soft1can. How many years of software development experience do you have?'], "freenumeric", "./../survey_creation/uk_17/listAnswers/.csv")
In [34]:
_ = get_plot(v_to_count, "freenumeric")

Group of question: time

In an average month, how much time do you spend on software development (Please rate your answer between 1 to 10. 1 Being none at all and 10 being All your time.)

In [35]:
v_to_count  = get_count(df, ['time1can[time1can]. In an average month, how much time do you spend on: [Software development]', 'time1can[time2can]. In an average month, how much time do you spend on: [Research]', 'time1can[time3can]. In an average month, how much time do you spend on: [People management]', 'time1can[time6can]. In an average month, how much time do you spend on: [Project management]', 'time1can[time4can]. In an average month, how much time do you spend on: [Teaching]', 'time1can[time5can]. In an average month, how much time do you spend on: [Other activities]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_10.csv")
In [36]:
display(v_to_count) 
1 (None at all) 2 3 4 5 6 7 8 9 10 (All my time)
Software development 5.0 23.0 36.0 47.0 43.0 35.0 60.0 56.0 20.0 7.0
Research 52.0 81.0 51.0 39.0 35.0 21.0 24.0 14.0 12.0 3.0
People management 129.0 100.0 39.0 25.0 10.0 9.0 10.0 8.0 1.0 1.0
Project management 42.0 104.0 75.0 37.0 32.0 15.0 14.0 9.0 2.0 2.0
Teaching 144.0 104.0 46.0 20.0 7.0 8.0 1.0 NaN 1.0 1.0
Other activities 64.0 111.0 56.0 40.0 32.0 11.0 12.0 1.0 3.0 2.0
In [37]:
_ = get_plot(v_to_count, "likert")

Section: 2

Group of question: currentEmp

What type of organisation do you work for?

In [38]:
v_to_count  = get_count(df, ['currentEmp1. What type of organisation do you work for?'], "one choice", "./../survey_creation/uk_17/listAnswers/type_organisation.csv")
In [39]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [40]:
display_side_by_side(v_to_count,perc_to_count)
currentEmp1. What type of organisation do you work for?
University - within an academic group 158
National laboratory 63
University - within an HPC group 27
University - within an IT service 26
Government 21
Other 18
Private company 11
NGO 8
currentEmp1. What type of organisation do you work for? [PERCENTAGE]
University - within an academic group 47.59
National laboratory 18.98
University - within an HPC group 8.13
University - within an IT service 7.83
Government 6.33
Other 5.42
Private company 3.31
NGO 2.41
In [41]:
_ = get_plot(perc_to_count, "one choice")

Which University?

In [42]:
v_to_count  = get_count(df, ['currentEmp2. Which university?'], "one choice", "./../survey_creation/uk_17/listAnswers/universities.csv")
In [43]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [44]:
display_side_by_side(v_to_count,perc_to_count)
currentEmp2. Which university?
Other 40
University of Edinburgh 23
University of Sheffield 14
University of Manchester 11
University of Oxford 11
University College London (UCL) 11
University of St Andrews 10
University of Cambridge 9
University of Leeds 8
University of Southampton 8
University of Bristol 7
Imperial College London 6
University of Birmingham 5
University of Warwick, Coventry 4
University of Reading 3
Bournemouth University 3
University of Dundee 3
University of Bath 3
Newcastle University 3
Durham University, Durham and Stockton-on-Tees (Queen's Campus) 2
University of Glasgow 2
University of York 2
King's College London 2
University of Exeter 2
Queen Mary, University of London 1
University of Nottingham 1
University of Sussex, Falmer and Brighton 1
University of Liverpool 1
Bangor University 1
Cranfield University, Cranfield, and Shrivenham 1
Royal Veterinary College 1
Birkbeck, University of London 1
Heriot-Watt University, Edinburgh and Galashiels 1
St George's, University of London 1
University of Gloucestershire, Cheltenham, Gloucester and London 1
Swansea University 1
University of Leicester 1
NaN 127
currentEmp2. Which university? [PERCENTAGE]
Other 19.51
University of Edinburgh 11.22
University of Sheffield 6.83
University of Manchester 5.37
University of Oxford 5.37
University College London (UCL) 5.37
University of St Andrews 4.88
University of Cambridge 4.39
University of Leeds 3.90
University of Southampton 3.90
University of Bristol 3.41
Imperial College London 2.93
University of Birmingham 2.44
University of Warwick, Coventry 1.95
University of Reading 1.46
Bournemouth University 1.46
University of Dundee 1.46
University of Bath 1.46
Newcastle University 1.46
Durham University, Durham and Stockton-on-Tees (Queen's Campus) 0.98
University of Glasgow 0.98
University of York 0.98
King's College London 0.98
University of Exeter 0.98
Queen Mary, University of London 0.49
University of Nottingham 0.49
University of Sussex, Falmer and Brighton 0.49
University of Liverpool 0.49
Bangor University 0.49
Cranfield University, Cranfield, and Shrivenham 0.49
Royal Veterinary College 0.49
Birkbeck, University of London 0.49
Heriot-Watt University, Edinburgh and Galashiels 0.49
St George's, University of London 0.49
University of Gloucestershire, Cheltenham, Gloucester and London 0.49
Swansea University 0.49
University of Leicester 0.49
In [45]:
_ = get_plot(perc_to_count, "one choice")

Which organisation do you work for?

In [46]:
 wc = wordcloud(df, ['currentEmp4. Which organisation do you work for?'])
In [47]:
 plt.imshow(wc, interpolation='bilinear')
 plt.axis("off")
Out[47]:
(-0.5, 1499.5, 799.5, -0.5)

What is your official job title?

In [48]:
 wc = wordcloud(df, ['currentEmp5. What is your official job title'])
In [49]:
 plt.imshow(wc, interpolation='bilinear')
 plt.axis("off")
Out[49]:
(-0.5, 1499.5, 799.5, -0.5)

Are you known in your group by a different job title? If so, please enter the job title you use

In [50]:
 wc = wordcloud(df, ['currentEmp6. Are you known in your group by a different job title? If so, please enter the job title you use'])
In [51]:
 plt.imshow(wc, interpolation='bilinear')
 plt.axis("off")
Out[51]:
(-0.5, 1499.5, 799.5, -0.5)

Do you work full time or part time

In [52]:
v_to_count  = get_count(df, ['currentEmp12. Do you work full time or part time?'], "one choice", "./../survey_creation/uk_17/listAnswers/type_hours.csv")
In [53]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [54]:
display_side_by_side(v_to_count,perc_to_count)
currentEmp12. Do you work full time or part time?
Full Time 313
Part-time 19
currentEmp12. Do you work full time or part time? [PERCENTAGE]
Full Time 94.28
Part-time 5.72
In [55]:
_ = get_plot(perc_to_count, "one choice")

What type of contract are you employed on?

In [56]:
v_to_count  = get_count(df, ['currentEmp10. What type of contract are you employed on?'], "one choice", "./../survey_creation/uk_17/listAnswers/type_contract.csv")
In [57]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [58]:
display_side_by_side(v_to_count,perc_to_count)
currentEmp10. What type of contract are you employed on?
Fixed term 120
Permanent -- funded by University core funding 95
Permanent -- as long as funding is available 88
Other/Not listed 21
Agency staff 5
Freelancer consultant contractor 3
currentEmp10. What type of contract are you employed on? [PERCENTAGE]
Fixed term 36.14
Permanent -- funded by University core funding 28.61
Permanent -- as long as funding is available 26.51
Other/Not listed 6.33
Agency staff 1.51
Freelancer consultant contractor 0.90
In [59]:
_ = get_plot(perc_to_count, "one choice")

When did you start your current contract

What is the duration of your current contract?

In [60]:
v_to_count  = get_count(df, ['currentEmp11. What is the duration of your current contract in months?'], "freenumeric", "./../survey_creation/uk_17/listAnswers/.csv")
In [61]:
_ = get_plot(v_to_count, "freenumeric")

In which disciplines do you work (select as many as apply)

In [62]:
v_to_count  = get_count(df, ['currentEmp13[SQ001]. In which disciplines do you work (select as many as apply)? [Accounting & Finance]', 'currentEmp13[SQ002]. In which disciplines do you work (select as many as apply)? [Aeronautical & Manufacturing Engineering]', 'currentEmp13[SQ003]. In which disciplines do you work (select as many as apply)? [Agriculture & Forestry]', 'currentEmp13[SQ004]. In which disciplines do you work (select as many as apply)? [American Studies]', 'currentEmp13[SQ005]. In which disciplines do you work (select as many as apply)? [Anatomy & Physiology]', 'currentEmp13[SQ006]. In which disciplines do you work (select as many as apply)? [Anthropology]', 'currentEmp13[SQ007]. In which disciplines do you work (select as many as apply)? [Architecture]', 'currentEmp13[SQ008]. In which disciplines do you work (select as many as apply)? [Art & Design]', 'currentEmp13[SQ009]. In which disciplines do you work (select as many as apply)? [Biological Sciences]', 'currentEmp13[SQ010]. In which disciplines do you work (select as many as apply)? [Business & Management Studies]', 'currentEmp13[SQ011]. In which disciplines do you work (select as many as apply)? [Chemical Engineering]', 'currentEmp13[SQ012]. In which disciplines do you work (select as many as apply)? [Chemistry]', 'currentEmp13[SQ013]. In which disciplines do you work (select as many as apply)? [Civil Engineering]', 'currentEmp13[SQ014]. In which disciplines do you work (select as many as apply)? [Classics & Ancient History]', 'currentEmp13[SQ015]. In which disciplines do you work (select as many as apply)? [Communication & Media Studies]', 'currentEmp13[SQ016]. In which disciplines do you work (select as many as apply)? [Complementary Medicine]', 'currentEmp13[SQ017]. In which disciplines do you work (select as many as apply)? [Computer Science]', 'currentEmp13[SQ018]. In which disciplines do you work (select as many as apply)? [Counselling]', 'currentEmp13[SQ019]. In which disciplines do you work (select as many as apply)? [Criminology]', 'currentEmp13[SQ020]. In which disciplines do you work (select as many as apply)? [Dentistry]', 'currentEmp13[SQ021]. In which disciplines do you work (select as many as apply)? [East & South Asian Studies]', 'currentEmp13[SQ022]. In which disciplines do you work (select as many as apply)? [Economics]', 'currentEmp13[SQ023]. In which disciplines do you work (select as many as apply)? [Education]', 'currentEmp13[SQ024]. In which disciplines do you work (select as many as apply)? [Electrical & Electronic Engineering]', 'currentEmp13[SQ025]. In which disciplines do you work (select as many as apply)? [English]', 'currentEmp13[SQ026]. In which disciplines do you work (select as many as apply)? [Fashion]', 'currentEmp13[SQ027]. In which disciplines do you work (select as many as apply)? [Food Science]', 'currentEmp13[SQ028]. In which disciplines do you work (select as many as apply)? [French]', 'currentEmp13[SQ029]. In which disciplines do you work (select as many as apply)? [Geography & Environmental Sciences]', 'currentEmp13[SQ030]. In which disciplines do you work (select as many as apply)? [Geology]', 'currentEmp13[SQ031]. In which disciplines do you work (select as many as apply)? [General Engineering]', 'currentEmp13[SQ032]. In which disciplines do you work (select as many as apply)? [German]', 'currentEmp13[SQ033]. In which disciplines do you work (select as many as apply)? [History]', 'currentEmp13[SQ034]. In which disciplines do you work (select as many as apply)? [History of Art, Architecture & Design]', 'currentEmp13[SQ035]. In which disciplines do you work (select as many as apply)? [Hospitality, Leisure, Recreation & Tourism]', 'currentEmp13[SQ036]. In which disciplines do you work (select as many as apply)? [Iberian Languages/Hispanic Studies]', 'currentEmp13[SQ037]. In which disciplines do you work (select as many as apply)? [Land & Property Management]', 'currentEmp13[SQ038]. In which disciplines do you work (select as many as apply)? [Law]', 'currentEmp13[SQ039]. In which disciplines do you work (select as many as apply)? [Librarianship & Information Management]', 'currentEmp13[SQ040]. In which disciplines do you work (select as many as apply)? [Linguistics]', 'currentEmp13[SQ041]. In which disciplines do you work (select as many as apply)? [Marketing]', 'currentEmp13[SQ042]. In which disciplines do you work (select as many as apply)? [Materials Technology]', 'currentEmp13[SQ043]. In which disciplines do you work (select as many as apply)? [Mathematics]', 'currentEmp13[SQ044]. In which disciplines do you work (select as many as apply)? [Mechanical Engineering]', 'currentEmp13[SQ045]. In which disciplines do you work (select as many as apply)? [Medicine]', 'currentEmp13[SQ046]. In which disciplines do you work (select as many as apply)? [Middle Eastern and African Studies]', 'currentEmp13[SQ047]. In which disciplines do you work (select as many as apply)? [Music]', 'currentEmp13[SQ048]. In which disciplines do you work (select as many as apply)? [Nursing]', 'currentEmp13[SQ049]. In which disciplines do you work (select as many as apply)? [Ophthalmics]', 'currentEmp13[SQ050]. In which disciplines do you work (select as many as apply)? [Pharmacology & Pharmacy]', 'currentEmp13[SQ051]. In which disciplines do you work (select as many as apply)? [Philosophy]', 'currentEmp13[SQ052]. In which disciplines do you work (select as many as apply)? [Physics and Astronomy]', 'currentEmp13[SQ053]. In which disciplines do you work (select as many as apply)? [Physiotherapy]', 'currentEmp13[SQ054]. In which disciplines do you work (select as many as apply)? [Politics]', 'currentEmp13[SQ055]. In which disciplines do you work (select as many as apply)? [Psychology]', 'currentEmp13[SQ056]. In which disciplines do you work (select as many as apply)? [Robotics]', 'currentEmp13[SQ057]. In which disciplines do you work (select as many as apply)? [Russian & East European Languages]', 'currentEmp13[SQ058]. In which disciplines do you work (select as many as apply)? [Social Policy]', 'currentEmp13[SQ059]. In which disciplines do you work (select as many as apply)? [Social Work]', 'currentEmp13[SQ060]. In which disciplines do you work (select as many as apply)? [Sociology]', 'currentEmp13[SQ061]. In which disciplines do you work (select as many as apply)? [Sports Science]', 'currentEmp13[SQ062]. In which disciplines do you work (select as many as apply)? [Theology & Religious Studies]', 'currentEmp13[SQ063]. In which disciplines do you work (select as many as apply)? [Town & Country Planning and Landscape Design]', 'currentEmp13[SQ064]. In which disciplines do you work (select as many as apply)? [Veterinary Medicine]', 'currentEmp13[SQ065]. In which disciplines do you work (select as many as apply)? [Youth Work]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/academic_field.csv")
In [63]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [64]:
display_side_by_side(v_to_count,perc_to_count)
Count
Computer Science 153
Biological Sciences 114
Physics and Astronomy 104
Mathematics 52
Geography & Environmental Sciences 52
Chemistry 44
Medicine 42
Electrical & Electronic Engineering 26
Mechanical Engineering 25
Materials Technology 20
General Engineering 20
Education 18
Chemical Engineering 15
Civil Engineering 14
Geology 14
Linguistics 14
Librarianship & Information Management 13
Aeronautical & Manufacturing Engineering 13
Psychology 13
Robotics 11
Anatomy & Physiology 11
Agriculture & Forestry 10
History 10
Sociology 10
Business & Management Studies 10
Economics 9
Social Policy 8
Architecture 8
Classics & Ancient History 8
Art & Design 6
Pharmacology & Pharmacy 6
Anthropology 6
Middle Eastern and African Studies 5
Communication & Media Studies 5
English 4
Food Science 4
Ophthalmics 4
Theology & Religious Studies 4
Town & Country Planning and Landscape Design 4
Nursing 3
Law 3
History of Art, Architecture & Design 3
Philosophy 2
Politics 2
Accounting & Finance 2
Land & Property Management 2
American Studies 2
German 2
Counselling 2
Marketing 1
Criminology 1
Veterinary Medicine 1
Complementary Medicine 1
Sports Science 1
Social Work 1
Dentistry 1
Music 1
East & South Asian Studies 1
Fashion 1
Physiotherapy 1
French 1
Hospitality, Leisure, Recreation & Tourism 1
Iberian Languages/Hispanic Studies 1
Youth Work 1
Russian & East European Languages 0
Count [PERCENTAGE]
Computer Science 16.16
Biological Sciences 12.04
Physics and Astronomy 10.98
Mathematics 5.49
Geography & Environmental Sciences 5.49
Chemistry 4.65
Medicine 4.44
Electrical & Electronic Engineering 2.75
Mechanical Engineering 2.64
Materials Technology 2.11
General Engineering 2.11
Education 1.90
Chemical Engineering 1.58
Civil Engineering 1.48
Geology 1.48
Linguistics 1.48
Librarianship & Information Management 1.37
Aeronautical & Manufacturing Engineering 1.37
Psychology 1.37
Robotics 1.16
Anatomy & Physiology 1.16
Agriculture & Forestry 1.06
History 1.06
Sociology 1.06
Business & Management Studies 1.06
Economics 0.95
Social Policy 0.84
Architecture 0.84
Classics & Ancient History 0.84
Art & Design 0.63
Pharmacology & Pharmacy 0.63
Anthropology 0.63
Middle Eastern and African Studies 0.53
Communication & Media Studies 0.53
English 0.42
Food Science 0.42
Ophthalmics 0.42
Theology & Religious Studies 0.42
Town & Country Planning and Landscape Design 0.42
Nursing 0.32
Law 0.32
History of Art, Architecture & Design 0.32
Philosophy 0.21
Politics 0.21
Accounting & Finance 0.21
Land & Property Management 0.21
American Studies 0.21
German 0.21
Counselling 0.21
Marketing 0.11
Criminology 0.11
Veterinary Medicine 0.11
Complementary Medicine 0.11
Sports Science 0.11
Social Work 0.11
Dentistry 0.11
Music 0.11
East & South Asian Studies 0.11
Fashion 0.11
Physiotherapy 0.11
French 0.11
Hospitality, Leisure, Recreation & Tourism 0.11
Iberian Languages/Hispanic Studies 0.11
Youth Work 0.11
Russian & East European Languages 0.00
In [65]:
_ = get_plot(perc_to_count, "multiple choices")

Section: 3

Group of question: prevEmp

Where was your previous job based?

In [66]:
v_to_count  = get_count(df, ['prevEmp1. Where was your previous job based?'], "one choice", "./../survey_creation/uk_17/listAnswers/type_organisation.csv")
In [67]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [68]:
display_side_by_side(v_to_count,perc_to_count)
prevEmp1. Where was your previous job based?
University 158
Private company 77
This is my first job 40
National laboratory 22
Other 12
Government 10
NGO 3
NaN 10
prevEmp1. Where was your previous job based? [PERCENTAGE]
University 49.07
Private company 23.91
This is my first job 12.42
National laboratory 6.83
Other 3.73
Government 3.11
NGO 0.93
In [69]:
_ = get_plot(perc_to_count, "one choice")

Rank the following factors dependent on how strongly they influenced your decision to accept your current position

In [70]:
v_to_count  = get_count(df, ['prevEmp2[1]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 1]', 'prevEmp2[2]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 2]', 'prevEmp2[3]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 3]', 'prevEmp2[4]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 4]', 'prevEmp2[5]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 5]', 'prevEmp2[6]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 6]', 'prevEmp2[7]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 7]', 'prevEmp2[8]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 8]'], "ranking", "./../survey_creation/uk_17/listAnswers/reason_leave_job.csv")
In [71]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [72]:
display(perc_to_count) 
Rank 1 Rank 2 Rank 3 Rank 4 Rank 5 Rank 6 Rank 7 Rank 8
Desire to work in a research environment 31.76 20.00 19.22 14.90 8.24 2.75 2.35 0.78
Desire to advance research 22.55 22.55 19.57 10.21 11.49 9.36 4.26 NaN
Opportunity to develop software 16.74 18.50 15.86 13.66 15.42 4.85 9.69 5.29
I want to learn new skills 15.35 14.91 15.79 17.98 13.16 11.84 6.14 4.82
Freedom to choose own working practices 14.49 12.62 18.22 15.42 13.55 11.68 9.81 4.21
Opportunity for career advancement 14.94 18.39 10.92 9.77 11.49 12.07 11.49 10.92
Ability to work across disciplines 8.54 20.60 18.59 15.08 13.07 14.07 5.03 5.03
Flexible working hours 8.59 8.59 10.10 20.20 15.15 12.63 10.10 14.65
The salary 6.90 5.52 8.97 13.79 10.34 16.55 22.76 15.17
In [73]:
_ = get_plot(perc_to_count, "ranking")

Section: 4

Group of question: currentWork

Do you always work with the same researcher(s), or do you regularly change the researcher(s) you work with?

In [74]:
v_to_count  = get_count(df, ['currentWork1. Do you always work with the same researcher(s), or do you regularly change the researcher(s) you work with?'], "one choice", "./../survey_creation/uk_17/listAnswers/.csv")
In [75]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [76]:
display_side_by_side(v_to_count,perc_to_count)
currentWork1. Do you always work with the same researcher(s), or do you regularly change the researcher(s) you work with?
Regularly change researcher(s) 160
Same researcher(s) 147
NaN 25
currentWork1. Do you always work with the same researcher(s), or do you regularly change the researcher(s) you work with? [PERCENTAGE]
Regularly change researcher(s) 52.12
Same researcher(s) 47.88
In [77]:
_ = get_plot(perc_to_count, "one choice")

Do you work for a Research Software Group?

In [78]:
v_to_count  = get_count(df, ['currentWork2. Do you work for a Research Software Group?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [79]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [80]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
currentWork2. Do you work for a Research Software Group? 73 77 182
Yes No nan
currentWork2. Do you work for a Research Software Group? [PERCENTAGE] 21.99 23.19 54.82
In [81]:
_ = get_plot(perc_to_count, "y/n/na")

Group of question: paper

Has your software contributed to research that has been published in a journal or at a conference?

In general, when your software contributes to a paper, are you acknowledged in that paper?

Are you generally named as the main author of the paper?

Are you generally named as a co-author of the paper?

Are you generally acknowledged in the main text of the paper?

In [82]:
v_to_count  = get_count(df, ['paper1. Has your software contributed to research that has been published in a journal or at a conference?', 'paper2. In general, when your software contributes to a paper, are you acknowledged in that paper?', 'paper3. Are you generally named as the main author of the paper?', 'paper4. Are you generally named as a co-author of the paper?', 'paper5. Are you generally acknowledged in the main text of the paper?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [83]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [84]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
paper1. Has your software contributed to research that has been published in a journal or at a conference? 260 23 49
paper2. In general, when your software contributes to a paper, are you acknowledged in that paper? 184 49 99
paper3. Are you generally named as the main author of the paper? 58 119 155
paper4. Are you generally named as a co-author of the paper? 105 18 209
paper5. Are you generally acknowledged in the main text of the paper? 14 4 314
Yes No nan
paper1. Has your software contributed to research that has been published in a journal or at a conference? 78.31 6.93 14.76
paper2. In general, when your software contributes to a paper, are you acknowledged in that paper? 55.42 14.76 29.82
paper3. Are you generally named as the main author of the paper? 17.47 35.84 46.69
paper4. Are you generally named as a co-author of the paper? 31.63 5.42 62.95
paper5. Are you generally acknowledged in the main text of the paper? 4.22 1.20 94.58
In [85]:
_ = get_plot(perc_to_count, "y/n/na")

Group of question: conf

Have you ever presented your software work at a conference or workshop?

In [86]:
v_to_count  = get_count(df, ['conf1can. Have you ever presented your software work at a conference or workshop?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [87]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [88]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
conf1can. Have you ever presented your software work at a conference or workshop? 181 126 25
Yes No nan
conf1can. Have you ever presented your software work at a conference or workshop? [PERCENTAGE] 54.52 37.95 7.53
In [89]:
_ = get_plot(perc_to_count, "y/n/na")

Which conference(s)/workshop(s)

In [90]:
 wc = wordcloud(df, ['conf2can. Which conferences or workshops?'])
In [91]:
 plt.imshow(wc, interpolation='bilinear')
 plt.axis("off")
Out[91]:
(-0.5, 1499.5, 799.5, -0.5)

Group of question: proj

How many software projects are you currently involved in?

In [92]:
v_to_count  = get_count(df, ['proj1can. How many software projects are you currently involved with?'], "freenumeric", "./../survey_creation/uk_17/listAnswers/.csv")
In [93]:
_ = get_plot(v_to_count, "freenumeric")

In general, what sort of testing do you conduct on your software? (check all that apply)

In [94]:
v_to_count  = get_count(df, ['proj4can[SQ001]. In general, what sort of testing do you conduct on your software? (check all that apply) [No formal testing]', 'proj4can[SQ002]. In general, what sort of testing do you conduct on your software? (check all that apply) [Developers conduct testing]', 'proj4can[SQ003]. In general, what sort of testing do you conduct on your software? (check all that apply) [Test engineers conduct testing]', 'proj4can[SQ004]. In general, what sort of testing do you conduct on your software? (check all that apply) [Users conduct testing]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/testing.csv")
In [95]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [96]:
display_side_by_side(v_to_count,perc_to_count)
Count
Developers conduct testing 260
Users conduct testing 135
No formal testing 52
Test engineers conduct testing 23
Count [PERCENTAGE]
Developers conduct testing 55.32
Users conduct testing 28.72
No formal testing 11.06
Test engineers conduct testing 4.89
In [97]:
_ = get_plot(perc_to_count, "multiple choices")

Group of question: stability

What is the bus factor of your most important software project?

In [98]:
v_to_count  = get_count(df, ['stability1. What is the bus factor of your most important software project?'], "likert", "./../survey_creation/uk_17/listAnswers/bus_factor.csv")
In [99]:
display(v_to_count) 
1 2 3 4 5+
stability1. What is the bus factor of your most important software project? 140 89 36 11 29
In [100]:
_ = get_plot(v_to_count, "likert")

Is there a technical hand-over plan for your most important software project?

In [101]:
v_to_count  = get_count(df, ['stability2. Is there a technical handover plan for your most important software project?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [102]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [103]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
stability2. Is there a technical handover plan for your most important software project? 79 227 26
Yes No nan
stability2. Is there a technical handover plan for your most important software project? [PERCENTAGE] 23.8 68.37 7.83
In [104]:
_ = get_plot(perc_to_count, "y/n/na")

Group of question: open

Have you ever released your software under an open-source licence?

In [105]:
v_to_count  = get_count(df, ['open01can. Have you ever released your software under an open-source licence?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [106]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [107]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
open01can. Have you ever released your software under an open-source licence? 214 92 26
Yes No nan
open01can. Have you ever released your software under an open-source licence? [PERCENTAGE] 64.46 27.71 7.83
In [108]:
_ = get_plot(perc_to_count, "y/n/na")

How often do you release the software projects you've worked on under an open-source licence?

In [109]:
v_to_count  = get_count(df, ["open1can[A5]. How often do you release the software projects you've worked on under an open-source licence? []"], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_10.csv")
In [110]:
display(v_to_count) 
open1can[A5]. How often do you release the software projects you've worked on under an open-source licence? []
In [111]:
_ = get_plot(v_to_count, "likert")

Have you ever used a Digital Object Identifier (DOI) to identify your software?

In [112]:
v_to_count  = get_count(df, ['open03can. Have you ever used a Digital Object Identifier (DOI) to identify your software?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [113]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [114]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
open03can. Have you ever used a Digital Object Identifier (DOI) to identify your software? 77 229 26
Yes No nan
open03can. Have you ever used a Digital Object Identifier (DOI) to identify your software? [PERCENTAGE] 23.19 68.98 7.83
In [115]:
_ = get_plot(perc_to_count, "y/n/na")

How often do you associate your software with a Digital Object Identifier (DOI)?

In [116]:
v_to_count  = get_count(df, ['open3can[SQ001]. How often do you associate your software with a Digital Object Identifier (DOI)? []'], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_10.csv")
In [117]:
display(v_to_count) 
open3can[SQ001]. How often do you associate your software with a Digital Object Identifier (DOI)? []
In [118]:
_ = get_plot(v_to_count, "likert")

Group of question: train

Have you ever trained researchers in computational techniques?

In [119]:
v_to_count  = get_count(df, ['train1. Have you ever trained researchers in computational techniques?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [120]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [121]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
train1. Have you ever trained researchers in computational techniques? 197 109 26
Yes No nan
train1. Have you ever trained researchers in computational techniques? [PERCENTAGE] 59.34 32.83 7.83
In [122]:
_ = get_plot(perc_to_count, "y/n/na")

On average, how many times a year do you take part in providing training?

In [123]:
v_to_count  = get_count(df, ['train2. On average, how many times a year do you take part in providing training?'], "freenumeric", "./../survey_creation/uk_17/listAnswers/.csv")
In [124]:
_ = get_plot(v_to_count, "freenumeric")

What training programs are you involved with (comma separated list) (For example, Software Carpentry, local university training, etc.)

In [125]:
 wc = wordcloud(df, ['train3. What training programs are you involved with (comma separated list)?'])
In [126]:
 plt.imshow(wc, interpolation='bilinear')
 plt.axis("off")
Out[126]:
(-0.5, 1499.5, 799.5, -0.5)

Group of question: fund

Do you know the source of the funding used to support you and your current, largest project?

In [127]:
v_to_count  = get_count(df, ['fund1. Do you know the source of the funding used to support you and your current, largest project?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [128]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [129]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
fund1. Do you know the source of the funding used to support you and your current, largest project? 254 31 47
Yes No nan
fund1. Do you know the source of the funding used to support you and your current, largest project? [PERCENTAGE] 76.51 9.34 14.16
In [130]:
_ = get_plot(perc_to_count, "y/n/na")

Which of the following sources are used to pay for your effort as an RSE/equivalent?

In [131]:
v_to_count  = get_count(df, ['fund2[SQ001]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [I volunteer my time]', 'fund2[SQ002]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Donation button]', 'fund2[SQ003]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Crowdfunding (one-time)]', 'fund2[SQ004]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Crowdfunding (recurring)]', 'fund2[SQ005]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Books & merchandise]', 'fund2[SQ006]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Advertising & sponsorships]', 'fund2[SQ007]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Industry support]', 'fund2[SQ008]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Consulting & services]', 'fund2[SQ009]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Grants]', 'fund2[SQ010]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [SaaS]', 'fund2[SQ011]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Membership]', 'fund2[SQ012]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Dual license]', 'fund2[SQ013]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Open core]', 'fund2[SQ014]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Foundations & consortiums]', 'fund2[SQ015]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Venture capital]', 'fund2[SQ016]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Trademark licensing & franchising]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/funding.csv")
In [132]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [133]:
display_side_by_side(v_to_count,perc_to_count)
Count
Grants 199
Industry support 35
I volunteer my time 33
Consulting & services 20
Foundations & consortiums 12
Open core 7
Membership 4
Trademark licensing & franchising 3
SaaS 2
Dual license 2
Donation button 1
Crowdfunding (one-time) 1
Crowdfunding (recurring) 1
Books & merchandise 1
Advertising & sponsorships 1
Venture capital 1
Count [PERCENTAGE]
Grants 61.61
Industry support 10.84
I volunteer my time 10.22
Consulting & services 6.19
Foundations & consortiums 3.72
Open core 2.17
Membership 1.24
Trademark licensing & franchising 0.93
SaaS 0.62
Dual license 0.62
Donation button 0.31
Crowdfunding (one-time) 0.31
Crowdfunding (recurring) 0.31
Books & merchandise 0.31
Advertising & sponsorships 0.31
Venture capital 0.31
In [134]:
_ = get_plot(perc_to_count, "multiple choices")

Which of the following sources are used to fund your current, largest project?

In [135]:
v_to_count  = get_count(df, ['fund3[SQ001]. Which of the following sources are used to fund your current, largest project? [Volunteers]', 'fund3[SQ002]. Which of the following sources are used to fund your current, largest project? [Donation button]', 'fund3[SQ003]. Which of the following sources are used to fund your current, largest project? [Crowdfunding (one-time)]', 'fund3[SQ004]. Which of the following sources are used to fund your current, largest project? [Crowdfunding (recurring)]', 'fund3[SQ005]. Which of the following sources are used to fund your current, largest project? [Books & merchandise]', 'fund3[SQ006]. Which of the following sources are used to fund your current, largest project? [Advertising & sponsorships]', 'fund3[SQ007]. Which of the following sources are used to fund your current, largest project? [Industry support]', 'fund3[SQ008]. Which of the following sources are used to fund your current, largest project? [Consulting & services]', 'fund3[SQ009]. Which of the following sources are used to fund your current, largest project? [Grants]', 'fund3[SQ010]. Which of the following sources are used to fund your current, largest project? [SaaS]', 'fund3[SQ011]. Which of the following sources are used to fund your current, largest project? [Membership]', 'fund3[SQ012]. Which of the following sources are used to fund your current, largest project? [Dual license]', 'fund3[SQ013]. Which of the following sources are used to fund your current, largest project? [Open core]', 'fund3[SQ014]. Which of the following sources are used to fund your current, largest project? [Foundations & consortiums]', 'fund3[SQ015]. Which of the following sources are used to fund your current, largest project? [Venture capital]', 'fund3[SQ016]. Which of the following sources are used to fund your current, largest project? [Trademark licensing & franchising]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/funding.csv")
In [136]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [137]:
display_side_by_side(v_to_count,perc_to_count)
Count
Grants 193
Industry support 33
Volunteers 19
Foundations & consortiums 11
Consulting & services 10
Membership 4
Open core 3
Dual license 2
Trademark licensing & franchising 2
Donation button 1
Crowdfunding (one-time) 1
Crowdfunding (recurring) 1
SaaS 1
Venture capital 1
Books & merchandise 0
Advertising & sponsorships 0
Count [PERCENTAGE]
Grants 68.44
Industry support 11.70
Volunteers 6.74
Foundations & consortiums 3.90
Consulting & services 3.55
Membership 1.42
Open core 1.06
Dual license 0.71
Trademark licensing & franchising 0.71
Donation button 0.35
Crowdfunding (one-time) 0.35
Crowdfunding (recurring) 0.35
SaaS 0.35
Venture capital 0.35
Books & merchandise 0.00
Advertising & sponsorships 0.00
In [138]:
_ = get_plot(perc_to_count, "multiple choices")

Which of the following sources were used to fund your current, largest project three years ago?

In [139]:
v_to_count  = get_count(df, ['fund4[SQ017]. Which of the following sources were used to fund your current, largest project three years ago? [My previous project is less than 3 years old]', 'fund4[SQ001]. Which of the following sources were used to fund your current, largest project three years ago? [Volunteers]', 'fund4[SQ002]. Which of the following sources were used to fund your current, largest project three years ago? [Donation button]', 'fund4[SQ003]. Which of the following sources were used to fund your current, largest project three years ago? [Crowdfunding (one-time)]', 'fund4[SQ004]. Which of the following sources were used to fund your current, largest project three years ago? [Crowdfunding (recurring)]', 'fund4[SQ005]. Which of the following sources were used to fund your current, largest project three years ago? [Books & merchandise]', 'fund4[SQ006]. Which of the following sources were used to fund your current, largest project three years ago? [Advertising & sponsorships]', 'fund4[SQ007]. Which of the following sources were used to fund your current, largest project three years ago? [Industry support]', 'fund4[SQ008]. Which of the following sources were used to fund your current, largest project three years ago? [Consulting & services]', 'fund4[SQ009]. Which of the following sources were used to fund your current, largest project three years ago? [Grants]', 'fund4[SQ010]. Which of the following sources were used to fund your current, largest project three years ago? [SaaS]', 'fund4[SQ011]. Which of the following sources were used to fund your current, largest project three years ago? [Membership]', 'fund4[SQ012]. Which of the following sources were used to fund your current, largest project three years ago? [Dual license]', 'fund4[SQ013]. Which of the following sources were used to fund your current, largest project three years ago? [Open core]', 'fund4[SQ014]. Which of the following sources were used to fund your current, largest project three years ago? [Foundations & consortiums]', 'fund4[SQ015]. Which of the following sources were used to fund your current, largest project three years ago? [Venture capital]', 'fund4[SQ016]. Which of the following sources were used to fund your current, largest project three years ago? [Trademark licensing & franchising]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/funding.csv")
In [140]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [141]:
display_side_by_side(v_to_count,perc_to_count)
Count
Grants 155
My previous project is less than 3 years old 29
Industry support 27
Volunteers 14
Consulting & services 7
Foundations & consortiums 5
Dual license 2
Open core 2
Advertising & sponsorships 1
Crowdfunding (recurring) 1
Donation button 1
SaaS 1
Venture capital 1
Trademark licensing & franchising 1
Books & merchandise 0
Crowdfunding (one-time) 0
Membership 0
Count [PERCENTAGE]
Grants 62.75
My previous project is less than 3 years old 11.74
Industry support 10.93
Volunteers 5.67
Consulting & services 2.83
Foundations & consortiums 2.02
Dual license 0.81
Open core 0.81
Advertising & sponsorships 0.40
Crowdfunding (recurring) 0.40
Donation button 0.40
SaaS 0.40
Venture capital 0.40
Trademark licensing & franchising 0.40
Books & merchandise 0.00
Crowdfunding (one-time) 0.00
Membership 0.00
In [142]:
_ = get_plot(perc_to_count, "multiple choices")

Section: 5

Group of question: perfCheck

Do you receive sufficient information on the results of your work?

Does your work give you the opportunity to check on how well you are doing your work?

In your work, do you have access to sufficient data and information?

Do you receive sufficient information on the purpose of your work?

Does your work provide you with direct feedback on how well you are doing your work?

Does your supervisor/line manager inform you about how well you are doing your work?

Do your colleagues inform you about how well you are doing your work?

In [143]:
v_to_count  = get_count(df, ['likerttime1[perfCheck1]. Please rate the following propositions. There are no right or wrong answers [Do you receive sufficient information on the results of your work?]', 'likerttime1[perfCheck2]. Please rate the following propositions. There are no right or wrong answers [Do you get the opportunity to check on how well you are doing your work?]', 'likerttime1[perfCheck3]. Please rate the following propositions. There are no right or wrong answers [Do you have access to sufficient data and information to do your work?]', 'likertime2[perfCheck4]. Please rate the following propositions. There are no right or wrong answers [Do you receive sufficient information on the purpose of your work?]', 'likertime2[perfCheck5]. Please rate the following propositions. There are no right or wrong answers [Does your work provide you with direct feedback on how well you are doing?]', 'likertime2[perfCheck6]. Please rate the following propositions. There are no right or wrong answers [Does your supervisor/line manager inform you about how well you are doing your work?]', 'likerttime1[perfCheck7]. Please rate the following propositions. There are no right or wrong answers [Do your colleagues inform you about how well you are doing your work?]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_5.csv")
In [144]:
display(v_to_count) 
Never Sometimes Often Very Often Always
Do you receive sufficient information on the results of your work? 5 91 85 70 29
Do you get the opportunity to check on how well you are doing your work? 21 122 87 37 11
Do you have access to sufficient data and information to do your work? 2 54 82 95 54
Do you receive sufficient information on the purpose of your work? 7 46 91 69 66
Does your work provide you with direct feedback on how well you are doing? 17 152 57 36 16
Does your supervisor/line manager inform you about how well you are doing your work? 17 132 70 34 19
Do your colleagues inform you about how well you are doing your work? 24 140 69 38 12
In [145]:
_ = get_plot(v_to_count, "likert")

Group of question: turnOver

How often do you look forward to another day at work?

How often do you consider leaving your job?

How often do dream about getting another job that will better suit your needs?

In [146]:
v_to_count  = get_count(df, ['likertime2[turnOver1]. Please rate the following propositions. There are no right or wrong answers [How often do you feel frustrated when not given the opportunity to achieve your personal work-related goals?]', 'likertime2[turnOver2]. Please rate the following propositions. There are no right or wrong answers [How often do you look forward to another day at work?]', 'likerttime1[turnOver3]. Please rate the following propositions. There are no right or wrong answers [How often do you consider leaving your job?]', 'likerttime1[turnOver4]. Please rate the following propositions. There are no right or wrong answers [How often do you dream about getting another job that will better suit your needs?]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_5.csv")
In [147]:
display(v_to_count) 
Never Sometimes Often Very Often Always
How often do you feel frustrated when not given the opportunity to achieve your personal work-related goals? 36 130 54 39 12
How often do you look forward to another day at work? 10 93 93 63 21
How often do you consider leaving your job? 55 147 44 29 10
How often do you dream about getting another job that will better suit your needs? 57 127 35 40 24
In [148]:
_ = get_plot(v_to_count, "likert")

My current job satisfies my personal needs

I would accept another job at the same compensation level if I was offered it

In [149]:
v_to_count  = get_count(df, ['likertagree1[turnOver5].  Please rate the following propositions. There are no right or wrong answers [My current job satisfies my personal needs]', 'likertagree3[turnOver6]. Please rate the following propositions. There are no right or wrong answers [I would accept another job at the same compensation level if I was offered it]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_agree.csv")
In [150]:
display(v_to_count) 
Strongly disagree Disagree Neither agree or disagree Agree Strongly Agree
My current job satisfies my personal needs 11 33 48 144 49
I would accept another job at the same compensation level if I was offered it 33 82 95 47 16
In [151]:
_ = get_plot(v_to_count, "likert")

Group of question: affRec

I am satisfied with my supervisor/line manager's confidence in me

I am satisfied with a word of thanks from my supervisor/line manager

I am satisfied with the recognition I receive from my supervisor/line manager for doing my job

I am satisfied with the compliments from my supervisor/line manager concerning my work

I am satisfied with the encouragement from my supervisor/line manager while doing my job

In [152]:
v_to_count  = get_count(df, ["likertagree3[affRec1]. Please rate the following propositions. There are no right or wrong answers [I am satisfied with my supervisor/line manager's confidence in me]", 'likertagree2[affRec2]. Please rate the following propositions. There are no right or wrong answers [I am satisfied with a word of thanks from my supervisor/line manager]', 'likertagree2[affRec3]. Please rate the following propositions. There are no right or wrong answers [I am satisfied with the recognition I receive from my supervisor/line manager for doing my job]', 'likertagree1[affRec4].  Please rate the following propositions. There are no right or wrong answers [I am satisfied with the compliments from my supervisor/line manager concerning my work]', 'likertagree3[affRec5]. Please rate the following propositions. There are no right or wrong answers [I am satisfied with the encouragement from my supervisor/line manager while doing my job]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_agree.csv")
In [153]:
display(v_to_count) 
Strongly disagree Disagree Neither agree or disagree Agree Strongly Agree
I am satisfied with my supervisor/line manager's confidence in me 6 22 41 135 71
I am satisfied with a word of thanks from my supervisor/line manager 10 30 77 114 50
I am satisfied with the recognition I receive from my supervisor/line manager for doing my job 12 40 52 114 68
I am satisfied with the compliments from my supervisor/line manager concerning my work 10 49 63 125 27
I am satisfied with the encouragement from my supervisor/line manager while doing my job 11 44 63 113 41
In [154]:
_ = get_plot(v_to_count, "likert")

Group of question: percEmp

It would not be very difficult for me to get an equivalent job in a different organisation

I can think of a number of organisations that would probably offer me a job

My experience is in demand on the labour market

Given my qualifications and experience, getting a new job would not be very hard at all

In [155]:
v_to_count  = get_count(df, ['likertagree1[percEmp1].  Please rate the following propositions. There are no right or wrong answers [It would not be very difficult for me to get an equivalent job in a different organisation]', 'likertagree2[percEmp2]. Please rate the following propositions. There are no right or wrong answers [I can think of a number of organisations that would probably offer me a job]', 'likertagree1[percEmp3].  Please rate the following propositions. There are no right or wrong answers [My experience is in demand on the labour market]', 'likertagree3[percEmp4]. Please rate the following propositions. There are no right or wrong answers [Given my qualifications and experience, getting a new job would not be very hard at all]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_agree.csv")
In [156]:
display(v_to_count) 
Strongly disagree Disagree Neither agree or disagree Agree Strongly Agree
It would not be very difficult for me to get an equivalent job in a different organisation 12 55 85 82 43
I can think of a number of organisations that would probably offer me a job 2 18 52 129 86
My experience is in demand on the labour market 3 17 49 137 68
Given my qualifications and experience, getting a new job would not be very hard at all 8 28 87 101 53
In [157]:
_ = get_plot(v_to_count, "likert")

Group of question: affSat

I find real enjoyment in my job

Most days I am enthusiastic about my job

I feel fairly well satisfied with my job

I like my job better than the average person

In [158]:
v_to_count  = get_count(df, ['likertagree2[affSat1]. Please rate the following propositions. There are no right or wrong answers [I find real enjoyment in my job]', 'likertagree2[affSat2]. Please rate the following propositions. There are no right or wrong answers [Most days I am enthusiastic about my job]', 'likertagree1[affSat3].  Please rate the following propositions. There are no right or wrong answers [I feel satisfied with my job]', 'likertagree3[affSat4]. Please rate the following propositions. There are no right or wrong answers [I like my job more than average]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_agree.csv")
In [159]:
display(v_to_count) 
Strongly disagree Disagree Neither agree or disagree Agree Strongly Agree
I find real enjoyment in my job 4 14 27 122 126
Most days I am enthusiastic about my job 5 23 51 149 63
I feel satisfied with my job 10 35 52 142 42
I like my job more than average 8 13 46 142 70
In [160]:
_ = get_plot(v_to_count, "likert")

Group of question: satisGen

In general, how satisfied are you with Your current position

In [161]:
v_to_count  = get_count(df, ['satisGen1[SQ001]. In general, how satisfied are you with: [Your current position]', 'satisGen1[SQ002]. In general, how satisfied are you with: [Your career]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_satisfied_10.csv")
In [162]:
display(v_to_count) 
0 - Not at all satisfied 1 2 3 4 5 6 7 8 9 10 - Completely satisfied
Your current position 7 4 7 8 15 23 37 80 62 34 8
Your career 4 4 9 19 24 30 48 73 53 15 7
In [163]:
_ = get_plot(v_to_count, "likert")

Section: 6

Group of question: socio

Please select your gender

In [164]:
v_to_count  = get_count(df, ['socio2. Please select your gender'], "one choice", "./../survey_creation/uk_17/listAnswers/gender.csv")
In [165]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [166]:
display_side_by_side(v_to_count,perc_to_count)
socio2. Please select your gender
Male 238
Female 42
Other 1
NaN 51
socio2. Please select your gender [PERCENTAGE]
Male 84.70
Female 14.95
Other 0.36
In [167]:
_ = get_plot(perc_to_count, "one choice")

Please select your age

In [168]:
v_to_count  = get_count(df, ['socio3. Please select your age'], "one choice", "./../survey_creation/uk_17/listAnswers/age.csv")
In [169]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [170]:
display_side_by_side(v_to_count,perc_to_count)
socio3. Please select your age
35 to 44 years 119
25 to 34 years 97
45 to 54 years 48
55 to 64 years 15
18 to 24 years 5
NaN 48
socio3. Please select your age [PERCENTAGE]
35 to 44 years 41.90
25 to 34 years 34.15
45 to 54 years 16.90
55 to 64 years 5.28
18 to 24 years 1.76
In [171]:
_ = get_plot(perc_to_count, "one choice")

How would you describe your ethnic origin? This refers to people who share the same cultural background and identity, not country of birth or nationality.

In [172]:
v_to_count  = get_count(df, ['socio5. How would you describe your ethnic origin?  This refers to people who share the same cultural background and identity, not country of birth or nationality.'], "one choice", "./../survey_creation/uk_17/listAnswers/ethnicity.csv")
In [173]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [174]:
display_side_by_side(v_to_count,perc_to_count)
socio5. How would you describe your ethnic origin? This refers to people who share the same cultural background and identity, not country of birth or nationality.
White: English / Welsh / Scottish / Northern Irish / British 145
White: Any other White background 97
Other Ethnic group: Any other ethnic group 6
Asian / Asian British: Chinese 5
Asian / Asian British: Indian 5
White: Irish 4
Mixed / Multipe Ethnic groups: Any other Mixed / Multiple ethnic background, 3
Black / African / Caribbean / Black Britsh: African 2
Asian / Asian British: Any other Asian background 1
Mixed / Multipe Ethnic groups: White and Black Caribbean 1
NaN 63
socio5. How would you describe your ethnic origin? This refers to people who share the same cultural background and identity, not country of birth or nationality. [PERCENTAGE]
White: English / Welsh / Scottish / Northern Irish / British 53.90
White: Any other White background 36.06
Other Ethnic group: Any other ethnic group 2.23
Asian / Asian British: Chinese 1.86
Asian / Asian British: Indian 1.86
White: Irish 1.49
Mixed / Multipe Ethnic groups: Any other Mixed / Multiple ethnic background, 1.12
Black / African / Caribbean / Black Britsh: African 0.74
Asian / Asian British: Any other Asian background 0.37
Mixed / Multipe Ethnic groups: White and Black Caribbean 0.37
In [175]:
_ = get_plot(perc_to_count, "one choice")

Please select the range of your salary

In [176]:
v_to_count  = get_count(df, ['socio4. Please select the range of your salary'], "one choice", "./../survey_creation/uk_17/listAnswers/salary.csv")
In [177]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [178]:
display_side_by_side(v_to_count,perc_to_count)
socio4. Please select the range of your salary
≥ £32,277 and < £43,325 106
≥ £43,325 and < £58,172 71
≥ £24,057 and < £32,277 44
≥ £58,172 23
< £18,031 10
≥ £18,031 and < £24,057 7
NaN 71
socio4. Please select the range of your salary [PERCENTAGE]
≥ £32,277 and < £43,325 40.61
≥ £43,325 and < £58,172 27.20
≥ £24,057 and < £32,277 16.86
≥ £58,172 8.81
< £18,031 3.83
≥ £18,031 and < £24,057 2.68
In [179]:
_ = get_plot(perc_to_count, "one choice")

Group of question: disa

Do you have a condition that is defined as a disability by the Equality Act 2010*

In [180]:
v_to_count  = get_count(df, ['disa1. Do you have a condition that is defined as a disability by the Equality Act 2010*'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [181]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [182]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
disa1. Do you have a condition that is defined as a disability by the Equality Act 2010* 13 255 64
Yes No nan
disa1. Do you have a condition that is defined as a disability by the Equality Act 2010* [PERCENTAGE] 3.92 76.81 19.28
In [183]:
_ = get_plot(perc_to_count, "y/n/na")

Section: 7

Group of question: tool

What Operating System do you prefer to use at work?

In [184]:
v_to_count  = get_count(df, ['tool2. What Operating System do you prefer to use at work?'], "one choice", "./../survey_creation/uk_17/listAnswers/os.csv")
In [185]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [186]:
display_side_by_side(v_to_count,perc_to_count)
tool2. What Operating System do you prefer to use at work?
GNU/Linux 175
OS X 70
Windows 39
Other 2
NaN 46
tool2. What Operating System do you prefer to use at work? [PERCENTAGE]
GNU/Linux 61.19
OS X 24.48
Windows 13.64
Other 0.70
In [187]:
_ = get_plot(perc_to_count, "one choice")

What programming languages do you use at work? (Select as many as apply)

In [188]:
v_to_count  = get_count(df, ['tool4can[SQ001]. What programming languages do you use at work? (Select as many as apply) [Assembly]', 'tool4can[SQ002]. What programming languages do you use at work? (Select as many as apply) [C]', 'tool4can[SQ003]. What programming languages do you use at work? (Select as many as apply) [C#]', 'tool4can[SQ004]. What programming languages do you use at work? (Select as many as apply) [C++]', 'tool4can[SQ005]. What programming languages do you use at work? (Select as many as apply) [Clojure]', 'tool4can[SQ006]. What programming languages do you use at work? (Select as many as apply) [CoffeeScript]', 'tool4can[SQ007]. What programming languages do you use at work? (Select as many as apply) [Common Lisp]', 'tool4can[SQ036]. What programming languages do you use at work? (Select as many as apply) [CUDA]', 'tool4can[SQ008]. What programming languages do you use at work? (Select as many as apply) [Dart]', 'tool4can[SQ009]. What programming languages do you use at work? (Select as many as apply) [Elixir]', 'tool4can[SQ010]. What programming languages do you use at work? (Select as many as apply) [Erlang]', 'tool4can[SQ011]. What programming languages do you use at work? (Select as many as apply) [F#]', 'tool4can[SQ037]. What programming languages do you use at work? (Select as many as apply) [FORTRAN]', 'tool4can[SQ012]. What programming languages do you use at work? (Select as many as apply) [Go]', 'tool4can[SQ013]. What programming languages do you use at work? (Select as many as apply) [Groovy]', 'tool4can[SQ014]. What programming languages do you use at work? (Select as many as apply) [Hack]', 'tool4can[SQ015]. What programming languages do you use at work? (Select as many as apply) [Haskell]', 'tool4can[SQ016]. What programming languages do you use at work? (Select as many as apply) [Java]', 'tool4can[SQ017]. What programming languages do you use at work? (Select as many as apply) [JavaScript]', 'tool4can[SQ018]. What programming languages do you use at work? (Select as many as apply) [Julia]', 'tool4can[SQ019]. What programming languages do you use at work? (Select as many as apply) [Lua]', 'tool4can[SQ038]. What programming languages do you use at work? (Select as many as apply) [Markup languages (HTML, markdown,...)]', 'tool4can[SQ020]. What programming languages do you use at work? (Select as many as apply) [Matlab]', 'tool4can[SQ021]. What programming languages do you use at work? (Select as many as apply) [Objective-C]', 'tool4can[SQ022]. What programming languages do you use at work? (Select as many as apply) [Perl]', 'tool4can[SQ023]. What programming languages do you use at work? (Select as many as apply) [PHP]', 'tool4can[SQ024]. What programming languages do you use at work? (Select as many as apply) [Python]', 'tool4can[SQ025]. What programming languages do you use at work? (Select as many as apply) [R]', 'tool4can[SQ026]. What programming languages do you use at work? (Select as many as apply) [Ruby]', 'tool4can[SQ027]. What programming languages do you use at work? (Select as many as apply) [Rust]', 'tool4can[SQ028]. What programming languages do you use at work? (Select as many as apply) [Scala]', 'tool4can[SQ029]. What programming languages do you use at work? (Select as many as apply) [Smalltalk]', 'tool4can[SQ030]. What programming languages do you use at work? (Select as many as apply) [SQL]', 'tool4can[SQ031]. What programming languages do you use at work? (Select as many as apply) [Swift]', 'tool4can[SQ039]. What programming languages do you use at work? (Select as many as apply) [Unix Shell Scripting]', 'tool4can[SQ032]. What programming languages do you use at work? (Select as many as apply) [TypeScript]', 'tool4can[SQ033]. What programming languages do you use at work? (Select as many as apply) [VB.NET]', 'tool4can[SQ034]. What programming languages do you use at work? (Select as many as apply) [VBA]', 'tool4can[SQ035]. What programming languages do you use at work? (Select as many as apply) [Visual Basic]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/programing_language.csv")
In [189]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [190]:
display_side_by_side(v_to_count,perc_to_count)
Count
Python 248
Unix Shell Scripting 183
Markup languages (HTML, markdown,...) 145
C++ 126
C 116
JavaScript 109
SQL 101
FORTRAN 100
Java 92
R 79
Matlab 78
Perl 55
PHP 44
CUDA 31
C# 25
Ruby 17
TypeScript 10
VBA 9
Groovy 8
Scala 8
Visual Basic 8
Assembly 6
Go 6
F# 4
Rust 4
Lua 3
Erlang 3
Julia 3
Haskell 2
Objective-C 2
CoffeeScript 2
VB.NET 2
Elixir 2
Smalltalk 1
Swift 1
Common Lisp 1
Clojure 1
Hack 0
Dart 0
Count [PERCENTAGE]
Python 15.17
Unix Shell Scripting 11.19
Markup languages (HTML, markdown,...) 8.87
C++ 7.71
C 7.09
JavaScript 6.67
SQL 6.18
FORTRAN 6.12
Java 5.63
R 4.83
Matlab 4.77
Perl 3.36
PHP 2.69
CUDA 1.90
C# 1.53
Ruby 1.04
TypeScript 0.61
VBA 0.55
Groovy 0.49
Scala 0.49
Visual Basic 0.49
Assembly 0.37
Go 0.37
F# 0.24
Rust 0.24
Lua 0.18
Erlang 0.18
Julia 0.18
Haskell 0.12
Objective-C 0.12
CoffeeScript 0.12
VB.NET 0.12
Elixir 0.12
Smalltalk 0.06
Swift 0.06
Common Lisp 0.06
Clojure 0.06
Hack 0.00
Dart 0.00
In [191]:
_ = get_plot(perc_to_count, "multiple choices")

Group of question: ukrse

Are you a member of the UK RSE Association? (Members are people who have signed up to the UK RSE mailing list)

In [192]:
v_to_count  = get_count(df, ['ukrse1. Are you a member of the UK RSE Association? (Members are people who have signed up to the UK RSE mailing list at www.rse.ac.uk)'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
In [193]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [194]:
display_side_by_side(v_to_count,perc_to_count)
Yes No nan
ukrse1. Are you a member of the UK RSE Association? (Members are people who have signed up to the UK RSE mailing list at www.rse.ac.uk) 176 103 53
Yes No nan
ukrse1. Are you a member of the UK RSE Association? (Members are people who have signed up to the UK RSE mailing list at www.rse.ac.uk) [PERCENTAGE] 53.01 31.02 15.96
In [195]:
_ = get_plot(perc_to_count, "y/n/na")

How do you meet other RSEs?

In [196]:
v_to_count  = get_count(df, ['ukrse2[SQ001]. How do you meet other RSEs? [UK RSE Association]', 'ukrse2[SQ002]. How do you meet other RSEs? [Local RSE group/network]', 'ukrse2[SQ003]. How do you meet other RSEs? [N/A]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/ukrse.csv")
In [197]:
perc_to_count = get_percentage(v_to_count, dropna=True)
In [198]:
display_side_by_side(v_to_count,perc_to_count)
Count
N/A 139
Local RSE group/network 82
UK RSE Association 77
Count [PERCENTAGE]
N/A 46.64
Local RSE group/network 27.52
UK RSE Association 25.84
In [199]:
_ = get_plot(perc_to_count, "multiple choices")

How did you learn the skills you need to become an RSE?

In [200]:
 wc = wordcloud(df, ['ukrse3. How did you learn the skills you need to become an RSE?'])
In [201]:
 plt.imshow(wc, interpolation='bilinear')
 plt.axis("off")
Out[201]:
(-0.5, 1499.5, 799.5, -0.5)

Group of question: skill

What three skills would you like to acquire or improve to help your work as a Research Software Engineer? The skills can be technical and non-technical.

In [202]:
 wc = wordcloud(df, ['skill2[SQ001]. What skills would you like to acquire or improve to help your work as a Research Software Engineer? The skills can be technical and non-technical. [Skill 1]', 'skill2[SQ2]. What skills would you like to acquire or improve to help your work as a Research Software Engineer? The skills can be technical and non-technical. [Skill 2]', 'skill2[SQ3]. What skills would you like to acquire or improve to help your work as a Research Software Engineer? The skills can be technical and non-technical. [Skill 3]'])
In [203]:
 plt.imshow(wc, interpolation='bilinear')
 plt.axis("off")
Out[203]:
(-0.5, 1499.5, 799.5, -0.5)